#include<bits/stdc++.h>
using namespace std;
int main(){
	int vm,n,c;
	cin>>vm>>n>>c;
	int v[n],k[n];
	int i,j;
	for(i=0;i<n;i++){
		cin>>v[i]>>k[i];
	};
	int ans[c+1]={0};
	int maxn=-1;
	for(i=0;i<n;i++){
		for(j=0;j+k[i]<=c;j++){
			ans[j]=max(ans[j],ans[j+k[i]]+v[i]);
			if(ans[j]>=vm){
			    maxn=max(maxn,j);
			};
		};
	};
	if(maxn>=0) cout<<maxn;
	else cout<<"Impossible";
	return 0;
}
//	int ans[vm+1][c+1];
//	for(i=0;i<n;i++){
//		for(j=vm;j>=v[i];j--){
//			for(u=c;u>=k[i];u--){
//				ans[j][u]=max(ans[j][u],ans[j-v[i]][u-k[i]]+k[i]);
//			};
//		};
//	};
//	if(ans[j][u]>=vm) cout<<vm-ans[j][u];
//	else cout<<"Impossible";

